.clearfix
{
    zoom: 1;
	
	&:after
	&:before
	{
        content: "\0020";
        display: block;
        height: 0;
        overflow: hidden;
    }

    &:after 
	{
        clear: both;
    }
}

body header div#header-container, body header nav, body header nav, body header nav ul li ul.sub-nav-list, body section, body aside
{
	@extend .clearfix;
}

body, header, section, footer, article, h1, h2, h3, h4, h5, h6, input, button, label, p, fieldset, nav, ul, li, a, span, strong, em {
    margin: 0;
    padding: 0;
    border: 0;
}

div, h1, h3, h4, h5, h6, header, footer, body, section, nav, article, aside {
    display: block;
}


body {
    font: 14px normal Arial;
    color: white;
	background: linear-gradient(to bottom, rgb(212, 146, 254) 0%, rgb(178, 91, 243) 8%, rgb(146, 31, 240) 18%, rgb(146,21,242) 30%)
}

    body header {
	
		$border-header: 1px solid #603382;
		$radius-header: 10px;
		$border-nav: 1px solid #000;
		$colors: rgb(178, 91, 243);
	
        padding-top: 25px;
        padding-bottom: 5px;
        padding-right: 15px;
        padding-left: 15px;
		
		& div#header-container div{
		
			&#logo-container {
				float: left;
				position: relative;
			}
			
			&#reg-form-container {
				float: right;
				position: relative;
				right: 5%;
				top: 50%;
				
				& div {
					text-align: right;
					
					& label {
						width: 50px;
						margin: 5px;
					}
					
					& input {
						width: 130px;
						border: $border-header;
						border-radius: $radius-header;
						padding: 2px 5px;
						margin: 5px;
					}
				}
				
				& button {
					margin-left: auto;
					margin-right: auto;
					font-weight: bold;
					border: $border-header;
					border-style: outset;
					border-radius: $radius-header;
					padding: 5px 8px;
					background: $colors;
					color: white;
						
					&:hover {
						background-color: #8949b9;
						border-style: inset;
					}
				}
				& input {
					background: $colors;
					color: white;
				}
			}
		}
		
		& nav {
            display: inline-block;
            width: 75%;
            margin: 20px 20px 20px 20px;
            padding: 12px;
            border: $border-nav;
			border-radius: 15px;
			
			& ul.nav-list {
                list-style-type: none;
            }
			
			& ul li {
                float: left;
                margin: 0;
				
				&:hover > a {
                    text-decoration: underline;
                    color: #a8a8a8;
					
					& + ul {
						display: block;
					}
                }
				
				& a {
                    text-decoration: none;
                    padding: 0 10px 0 10px;
                    color: white;
                    font: 1.4em normal Arial;
					
					&.selected {
                        font-weight: bold;
                    }
                }
				
				& ul.sub-nav-list {
                    position: absolute;
                    display: none;
                    background-color: $colors;
                    border-radius: 5px;
                }
				
				& ul li {
                    float: none;
                    margin: 0 15px;
                    padding: 10px 0;
                    border-bottom: $border-nav;
					
					&:last-of-type {
                        border-bottom: none;
                    }
					
					& > a {
                        font-size: 1.2em;
                        color: #fff;
                    }
                }
            }
        }
    }
		
    body section {
        width: 75%;
        float: left;
        color: black;
		
		& article {
            margin: 20px;
            padding: 20px;
            border: 1px solid black;
			border-radius: 15px;
			color: white;
			
			& header {
                background: none;
                padding: 5px;
				
				& h1 {
                    font-size: 1.4em;
                    padding: 0;
                }
            }
			
			& footer {
                padding: 5px;
				
				& p {
                    font-size: 16px;
                    text-align: right;
                    font-weight: normal;
					
					& time {
                        font-family: Consolas, 'Lucida Console', 'DejaVu Sans Mono', monospace;
                    }
					
					& a {
                        text-decoration: none;
						color: rgb(212, 146, 254);
						
						&:hover {
                            text-decoration: underline;
                        }
                    }
                }
            }
        }
    }

    body aside {
        float: left;
        width: 20%;
        margin: 20px;
		
		& > ul {
            list-style-type: none;
			
			& > li {
                margin: 15px 0;
                padding: 15px;
                border: 1px solid black;
                border-radius: 5px;
				
				& h2 {
                    font-size: 1.1em;
                    font-weight: bold;
                }
				
				& p {
                    margin-top: 10px;
                    margin-right: 5px;
                    margin-bottom: 10px;
                    margin-left: 5px;
                    font-size: 14px;
					
					& a {
                        color: #aaaaaa;
                        text-decoration: none;
                    }
					
					& strong {
                        color: #cccccc;
                        font-weight: bold;
                        font-style: normal;
                    }
					
					& em {
                        color: #cccccc;
                        font-weight: normal;
                        font-style: italic;
                    }
                }
				
				& ul {
                    list-style-type: none;
                    margin-top: 10px;
                    margin-right: 0;
                    margin-bottom: 10px;
                    margin-left: 0px;
					
					& li {
                        margin-top: 5px;
                        margin-left: 10px;
                        margin-bottom: 0px;
                        margin-right: 0px;
                        background: url(images/li-dot.png) no-repeat;
                        background-position: 0 50%;
                        padding-left: 25px;
                    }
                }
            }
        }
    }

    body footer {
        clear: both;
        padding-top: 15px;
        padding-bottom: 25px;
        padding-right: 0px;
        padding-left: 0px;
		
		& p {
            font-size: 1.2em;
            font-weight: bold;
			text-align: center;
        }
    }